Vision-Based
Precision Landing.
Autonomous landing on a moving platform using visual detection, motion prediction, and closed-loop flight control.
Landing on a target
that doesn't stand still.
Landing on a moving platform requires the drone to detect, track, predict, and coordinate its descent with the motion of the target.
The objective of this project was to program a Parrot Mambo mini drone to autonomously land on a moving line-following robot using vision-based detection and position prediction in Simulink. The system needed to identify a green landing pad, determine when to begin descent, and continuously adjust the drone's position as the platform moved beneath it.
From camera feedback
to landing commands.
The system combines RGB image processing, platform position estimates, Stateflow-based flight sequencing, and corrective position commands. Each stage provides information required by the next stage of the autonomous landing process.
RGB Camera
Visual observations of the landing platform.
Pad Detection
Green mask, region center, area, and detection flag.
Stateflow
Takeoff, forward motion, and landing sequence.
Position Correction
X-Y-Z commands for tracking and descent.
Detecting the
landing platform.
The landing platform was identified through its green-colored pad.
A custom MATLAB function, createMask, processed incoming
RGB images and converted the green region into a binary mask. The
region's center and pixel area were then used to establish a valid
platform detection.
Color Segmentation
Green pixels were isolated from the RGB camera image to distinguish the landing pad from its surroundings.
Region Measurement
The binary mask was used to calculate the center and area of the detected region.
Detection Threshold
When the white pixel area exceeded approximately 3,000 pixels, the detection flag was activated.
createMasktargetdetectflag~3000 pixelsThe detection flag was routed through a modified OR block in the Landing Enable submodel, allowing the visual detection stage to initiate the descent sequence.
Sequencing autonomous
flight behavior.
Stateflow was used to organize the landing mission into three primary flight states. This made the transition from takeoff to forward motion and landing explicit, while allowing detection and position information to influence the active behavior.
TakeOff
The drone ascends to the commanded altitude of 1.1 meters.
MoveForward
The drone follows the line while receiving platform detection and position estimates.
Land
The drone initiates descent when the platform detection and landing logic permit the transition.
The control logic continuously received xestimate,
yestimate, and platform detection flags. The position
controller was modified to generate corrective xout,
yout, and zout commands, enabling the drone
to adjust its trajectory during the landing process.
Timing the descent
to match the target.
A moving landing pad cannot be treated as a fixed point. The system therefore incorporated X-Y position prediction to estimate the platform's future position and determine when descent should begin. This allowed the drone to coordinate its landing with the platform's motion rather than reacting only to its current location.
Estimate → Predict → Correct
Platform position estimates and velocity information were used to time the landing maneuver and issue X-Y-Z corrections.
The prediction logic was designed so descent began at an appropriate moment to land before or at the end of the line, based on the line-following robot's velocity.
Closing the loop
from vision to landing.
The integrated system successfully detected the RGB landing platform, coordinated its motion with the moving robot, and initiated descent using the Stateflow landing sequence and position correction logic.
Platform Detection
The onboard vision system identified the green landing pad and provided the detection signal for the landing sequence.
Motion Coordination
Position estimates and prediction logic supported alignment with the moving platform.
Successful Descent
Landing was completed once altitude dropped below 0.2 meters while alignment was maintained.
See the system
in motion.
The following demonstrations show the forward tracking phase and the final moving-platform landing sequence.
Forward Path Tracking
The drone locks onto and follows the visual guide line during the forward motion phase.
Moving-Platform Landing
Timed descent using Stateflow logic and real-time position correction to land on the moving platform.
Explore the
implementation.
View the source repository or read the complete project report for additional implementation details.
Have a robotics
challenge in mind?
I'm interested in opportunities involving autonomous systems, robotics software, controls, simulation, and real-world deployment. If you're building something ambitious, I'd be glad to connect.
dheerajcnv@gmail.com